#ifndef __OPENGLTEXTUREMANAGER_H__
#define __OPENGLTEXTUREMANAGER_H__

#include "../../include/ITextureManager.h"

class COpenGLTextureManager : public ITextureManager
{
public:
	COpenGLTextureManager();
	virtual ~COpenGLTextureManager();

	virtual void SetTextureCreationParams(STextureCreationParams *ntcp);
	virtual ITexture *CreateTextureBeta(IImage *Image=NULL,CColor color=CColor(1.0,1.0,1.0),vector2du32 Len=vector2du32(1,1),STextureCreationParams *tcp=NULL);
	virtual ITexture *CreateTextureFromImage(IImage *Image,STextureCreationParams *tcp=NULL);
	virtual ITexture *CreateEmptyTexture(CColor color,vector2du32 Len=vector2du32(1,1),STextureCreationParams *tcp=NULL);
	virtual IFont *CreateFontFromImage(IImage *Image,STextureCreationParams *tcp=NULL);
	virtual ITexture *CloneTexture(ITexture *Text);
	virtual IFont *CloneFont(IFont *font);
	virtual bool DeleteTexture(ITexture *Tex);
	virtual bool DeleteFont(IFont *Font);
	void NewTexture(u32 *tex);
	bool IncReference(u32 Index);
	bool DecReference(u32 Index);
};

#endif
